package com.school.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.school.common.annotation.Excel;
import com.school.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 课程信息对象 course
 *
 * @author fulin
 * @date 2023-03-09
 */
public class Course extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 课程编号 */
    @Excel(name = "课程编号")
    private String courseId;

    /** 课程名字 */
    @Excel(name = "课程名字")
    private String courseName;

    /** 授课老师id */
//    @Excel(name = "授课老师id")
    private Long lecturerId;


    /** 授课老师id */
    @Excel(name = "授课老师")
    private String lecturerName;

    /** 创建者id */
    private String creatorId;

    /** 学分 */
    @Excel(name = "学分")
    private Long credit;

    /** 时长 */
    @Excel(name = "时长")
    private String duration;

    /** 开始时间 */
    @Excel(name = "开始时间")
    private String startTime;

    /** 总计数量 */
    @Excel(name = "总计数量")
    private Long totalNumber;

    /** 已选择数量 */
    @Excel(name = "已选择数量")
    private Long selectedNumber;

    /** 报名截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date limitTime;

    public String getLecturerName() {
        return lecturerName;
    }

    public void setLecturerName(String lecturerName) {
        this.lecturerName = lecturerName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCourseId(String courseId)
    {
        this.courseId = courseId;
    }

    public String getCourseId()
    {
        return courseId;
    }
    public void setCourseName(String courseName)
    {
        this.courseName = courseName;
    }

    public String getCourseName()
    {
        return courseName;
    }
    public void setLecturerId(Long lecturerId)
    {
        this.lecturerId = lecturerId;
    }

    public Long getLecturerId()
    {
        return lecturerId;
    }
    public void setCreatorId(String creatorId)
    {
        this.creatorId = creatorId;
    }

    public String getCreatorId()
    {
        return creatorId;
    }
    public void setCredit(Long credit)
    {
        this.credit = credit;
    }

    public Long getCredit()
    {
        return credit;
    }
    public void setDuration(String duration)
    {
        this.duration = duration;
    }

    public String getDuration()
    {
        return duration;
    }
    public void setStartTime(String startTime)
    {
        this.startTime = startTime;
    }

    public String getStartTime()
    {
        return startTime;
    }
    public void setTotalNumber(Long totalNumber)
    {
        this.totalNumber = totalNumber;
    }

    public Long getTotalNumber()
    {
        return totalNumber;
    }
    public void setSelectedNumber(Long selectedNumber)
    {
        this.selectedNumber = selectedNumber;
    }

    public Long getSelectedNumber()
    {
        return selectedNumber;
    }
    public void setLimitTime(Date limitTime)
    {
        this.limitTime = limitTime;
    }

    public Date getLimitTime()
    {
        return limitTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("courseId", getCourseId())
            .append("courseName", getCourseName())
            .append("lecturerId", getLecturerId())
            .append("creatorId", getCreatorId())
            .append("credit", getCredit())
            .append("duration", getDuration())
            .append("startTime", getStartTime())
            .append("totalNumber", getTotalNumber())
            .append("selectedNumber", getSelectedNumber())
            .append("limitTime", getLimitTime())
            .toString();
    }
}
